package com.bicon.base.data.pojo.botu;

import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import java.io.Serializable;

/**
 * <p>
 * 商品表
 * </p>
 *
 * @author zhoutyianqi
 * @since 2018-07-25
 */
public class Product extends Model<Product> {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private String id;
    /**
     * 产品名称
     */
    @TableField("product_name")
    private String productName;
    /**
     * 商品类型
     */
    @TableField("product_type")
    private String productType;
    /**
     * 供货商
     */
    private String server;
    /**
     * 标签
     */
    private String lable;
    /**
     * 商品描述
     */
    private String description;
    /**
     * 创建时间
     */
    @TableField("create_date")
    private Date createDate;
    /**
     * 类目Id
     */
    @TableField("category_id")
    private String categoryId;
    /**
     * 商品重量
     */
    private Double weight;
    /**
     * 体积
     */
    private Double volume;
    /**
     * 发票类型（0无需发票，1普通发票，2电子发票，3全选）
     */
    @TableField("invoice_type")
    private Integer invoiceType;
    /**
     * 警告数量
     */
    @TableField("notice_num")
    private Integer noticeNum;
    /**
     * 是否上架（1未上架，0上架）
     */
    @TableField("up_shelves")
    private String upShelves;
    /**
     * 是否作为商品（0否，1是）
     */
    @TableField("is_product")
    private String isProduct;
    /**
     * 是否免运费(1免运费，其它uuid为运费模板id)
     */
    @TableField("is_free_freight")
    private String isFreeFreight;
    /**
     * 物流类型
     */
    @TableField("logistics_type")
    private String logisticsType;
    /**
     * 状态
     */
    @TableField("logic_delete")
    private String logicDelete;
    /**
     * 修改时间
     */
    @TableField("update_date")
    private Date updateDate;
    /**
     * 图文详情
     */
    private String details;
    /**
     * 品牌id
     */
    @TableField("brand_id")
    private String brandId;
    /**
     * 商品销售区域
     */
    @TableField("product_region")
    private String productRegion;
    /**
     * 是否启用前身文字 1：启用 2：不启用
     */
    @TableField("is_on_before")
    private String isOnBefore;
    /**
     * 是否启用后身文字 1：启用 2：不启用
     */
    @TableField("is_on_after")
    private String isOnAfter;
    /**
     * 前身文字数量限制
     */
    @TableField("before_text")
    private Integer beforeText;
    /**
     * 后身文字数量限制
     */
    @TableField("after_text")
    private Integer afterText;
    /**
     * 是否启用微量元素 1：启用 2：不启用
     */
    @TableField("trace_element")
    private String traceElement;
    /**
     * 审核状态 1：已审核 2：未审核
     */
    @TableField("audit_status")
    private String auditStatus;
    /**
     * 进货价
     */
    @TableField("buying_price")
    private BigDecimal buyingPrice;
    /**
     * 商品编号
     */
    @TableField("product_code")
    private String productCode;
    /**
     * 商品单价
     */
    @TableField("product_price")
    private BigDecimal productPrice;
    /**
     * 1.展示
     */
    @TableField("show_state")
    private String showState;
    /**
     * 方案id集合，逗号分割(1,2,3,4,5)
     */
    @TableField("trace_plan_id")
    private String tracePlanId;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public String getServer() {
        return server;
    }

    public void setServer(String server) {
        this.server = server;
    }

    public String getLable() {
        return lable;
    }

    public void setLable(String lable) {
        this.lable = lable;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(String categoryId) {
        this.categoryId = categoryId;
    }

    public Double getWeight() {
        return weight;
    }

    public void setWeight(Double weight) {
        this.weight = weight;
    }

    public Double getVolume() {
        return volume;
    }

    public void setVolume(Double volume) {
        this.volume = volume;
    }

    public Integer getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(Integer invoiceType) {
        this.invoiceType = invoiceType;
    }

    public Integer getNoticeNum() {
        return noticeNum;
    }

    public void setNoticeNum(Integer noticeNum) {
        this.noticeNum = noticeNum;
    }

    public String getUpShelves() {
        return upShelves;
    }

    public void setUpShelves(String upShelves) {
        this.upShelves = upShelves;
    }

    public String getIsProduct() {
        return isProduct;
    }

    public void setIsProduct(String isProduct) {
        this.isProduct = isProduct;
    }

    public String getIsFreeFreight() {
        return isFreeFreight;
    }

    public void setIsFreeFreight(String isFreeFreight) {
        this.isFreeFreight = isFreeFreight;
    }

    public String getLogisticsType() {
        return logisticsType;
    }

    public void setLogisticsType(String logisticsType) {
        this.logisticsType = logisticsType;
    }

    public String getLogicDelete() {
        return logicDelete;
    }

    public void setLogicDelete(String logicDelete) {
        this.logicDelete = logicDelete;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getDetails() {
        return details;
    }

    public void setDetails(String details) {
        this.details = details;
    }

    public String getBrandId() {
        return brandId;
    }

    public void setBrandId(String brandId) {
        this.brandId = brandId;
    }

    public String getProductRegion() {
        return productRegion;
    }

    public void setProductRegion(String productRegion) {
        this.productRegion = productRegion;
    }

    public String getIsOnBefore() {
        return isOnBefore;
    }

    public void setIsOnBefore(String isOnBefore) {
        this.isOnBefore = isOnBefore;
    }

    public String getIsOnAfter() {
        return isOnAfter;
    }

    public void setIsOnAfter(String isOnAfter) {
        this.isOnAfter = isOnAfter;
    }

    public Integer getBeforeText() {
        return beforeText;
    }

    public void setBeforeText(Integer beforeText) {
        this.beforeText = beforeText;
    }

    public Integer getAfterText() {
        return afterText;
    }

    public void setAfterText(Integer afterText) {
        this.afterText = afterText;
    }

    public String getTraceElement() {
        return traceElement;
    }

    public void setTraceElement(String traceElement) {
        this.traceElement = traceElement;
    }

    public String getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public BigDecimal getBuyingPrice() {
        return buyingPrice;
    }

    public void setBuyingPrice(BigDecimal buyingPrice) {
        this.buyingPrice = buyingPrice;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public BigDecimal getProductPrice() {
        return productPrice;
    }

    public void setProductPrice(BigDecimal productPrice) {
        this.productPrice = productPrice;
    }

    public String getShowState() {
        return showState;
    }

    public void setShowState(String showState) {
        this.showState = showState;
    }

    public String getTracePlanId() {
        return tracePlanId;
    }

    public void setTracePlanId(String tracePlanId) {
        this.tracePlanId = tracePlanId;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "Product{" +
        "id=" + id +
        ", productName=" + productName +
        ", productType=" + productType +
        ", server=" + server +
        ", lable=" + lable +
        ", description=" + description +
        ", createDate=" + createDate +
        ", categoryId=" + categoryId +
        ", weight=" + weight +
        ", volume=" + volume +
        ", invoiceType=" + invoiceType +
        ", noticeNum=" + noticeNum +
        ", upShelves=" + upShelves +
        ", isProduct=" + isProduct +
        ", isFreeFreight=" + isFreeFreight +
        ", logisticsType=" + logisticsType +
        ", logicDelete=" + logicDelete +
        ", updateDate=" + updateDate +
        ", details=" + details +
        ", brandId=" + brandId +
        ", productRegion=" + productRegion +
        ", isOnBefore=" + isOnBefore +
        ", isOnAfter=" + isOnAfter +
        ", beforeText=" + beforeText +
        ", afterText=" + afterText +
        ", traceElement=" + traceElement +
        ", auditStatus=" + auditStatus +
        ", buyingPrice=" + buyingPrice +
        ", productCode=" + productCode +
        ", productPrice=" + productPrice +
        ", showState=" + showState +
        ", tracePlanId=" + tracePlanId +
        "}";
    }
}
